/**
 * 
 */
package org.jim.core.packets;

import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.google.common.collect.Lists;
import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import org.jim.core.ImConst;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 版本: [1.0]
 * 功能说明: 
 * @author : WChao 创建时间: 2017年7月26日 下午3:13:47
 */
@Data
@TableName("user")
public class User extends Message implements Serializable{
	
	private static final long serialVersionUID = 1L;
	/**
	 * 用户id;
	 */
	@TableId(type = IdType.ASSIGN_UUID)
	private String userId;
	/**
	 * user nick
	 */
	private String name;
	/**
	 * 用户头像
	 */
    @TableField("face_url")
	private String avatar;
	/**
	 * 是否在线
	 */
	private boolean onLine;

	/**
	 * 用户状态
	 */
	private int status;


	/**
	 * 用户所属终端;(1 web、2 android、3 ios等)
	 */
	private int terminal;
	/**
	 * 用户打开的浏览器;(1 微信、2 其他浏览器)
	 */
	private int webType;
	/**
	 * 用户登陆ip
	 */
	@TableField("last_login_ip")
	private String ip;
	/**
	 * 用户登陆地址
	 */
	@TableField("last_login_city")
	private String ipAddress;
	/**
	 * 绑定客服
	 */
	private String kefuId;
	/**
	 * 客服有到期时间，用户没有
	 */
	private Date endTime;
	/**
	 * 卡密
	 */
	private String kamicode;
	/**
	 * 创建人
	 */
	private String createUser;
	/**
	 * 激活状态
	 */
	private Integer actStatus;

	/**
	 * 1 普通用户  3 客服
	 */
	@TableField("app_manger_level")
	private Integer appMangerLevel;
	/**
	 * 好友列表;
	 */
	private List<User> friends;
	/**
	 * 群组列表;
	 */
	private List<Group> groups;



	public User clone(){
		User cloneUser = new User();
		BeanUtil.copyProperties(this, cloneUser,"friends","groups");
		return cloneUser;
	}

}
